﻿using BW.WMS.Core.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BW.WMS.Domain.Entities.Warehouse
{
    /// <summary>
    /// WMS仓库管理—库位实体
    /// </summary>
    public class WMS_Location:BaseEntity
    {
        /// <summary>
        /// 库位编号，如"KWBH1976" - 用于唯一标识库位
        /// </summary>
        public string LocationCode { get; set; } = string.Empty;

        /// <summary>
        /// 库位名称，如"库位一" - 库位的显示名称
        /// </summary>
        public string LocationName { get; set; } = string.Empty;

        /// <summary>
        /// 库位容量，单位为立方米(m³) - 表示库位的总存储容量
        /// </summary>
        public double Capacity { get; set; }

        /// <summary>
        /// 库位主管 - 负责管理该库位的人员姓名
        /// </summary>
        public long Manager { get; set; }

        /// <summary>
        /// 排序序号 - 用于在列表中对库位进行排序的数值
        /// </summary>
        public int SortOrder { get; set; }

        /// <summary>
        /// 库位状态 - 表示库位当前的使用状态，对应LocationStatusEnum枚举值
        /// 1=启用，2=停用，3=锁定
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// 备注 - 关于该库位的附加说明信息
        /// </summary>
        public string Remark { get; set; } = string.Empty;

        /// <summary>
        /// 所属仓库ID - 外键，关联到WMS_Warehouse表
        /// </summary>
        public int WarehouseId { get; set; }

        /// <summary>
        /// 所属仓库 - 导航属性，表示该库位所属的仓库
        /// </summary>
        public WMS_Warehouse Warehouse { get; set; }

        /// <summary>
        /// 货位集合 - 一对多关系，表示该库位包含的所有货位
        /// </summary>
        public ICollection<WMS_Bin> Bins { get; set; }
    }
}
